Lazy registry; lightweight core #3428
Open
+1,302
−250
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Importing
lm_evalcurrently loads all 27+ model backends at startup, even when you only need one. This pulls in all heavy dependencies (transformers, torch, vllm, anthropic, etc.).pip install lm_evalno longer installs the HF/torch stack.Changes
Rewrote the registry to store lazy placeholders (
lm_eval.models.huggingface:HFLM) instead of eagerly importing model classes. Models are only materialized when you actually calllm_eval.api.registry.get_model("<alias>").Key bits:
lm_eval/models/__init__.pynow just registers string paths:Breaking changes